//
//  UILabel+Tools.h
//  Pods-YCBaseModule_Example
//
//  Created by Apple on 2022/11/2.
//

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface UILabel (Tools)

/// 创建lab无初始位置
/// @param text text description
/// @param textColor textColor description
/// @param font font description
+ (instancetype)labelWithText:(nullable NSString *)text
                     textColor:(UIColor *)textColor
                         font:(UIFont *)font;

/// 创建lab无初始位置
/// @param text text description
/// @param textColor textColor description
/// @param font font description
/// @param frame 位置
+ (instancetype)labelWithFrame:(CGRect)frame
                          text:(nullable NSString *)text
                     textColor:(UIColor *)textColor
                         font:(UIFont *)font;


/// 创建lab无初始位置
/// @param text text description
/// @param textColor textColor description
/// @param font font description
/// @param alignment alignment description
+ (instancetype)labelWithText:(nullable NSString *)text
                     textColor:(UIColor *)textColor
                          font:(UIFont *)font
                textAlignment:(NSTextAlignment)alignment;

/// 创建Lab
/// @param frame 位置
/// @param text 内容
/// @param alignment 居中
/// @param font 字体
/// @param textColor 颜色
+ (instancetype)labelWithFrame:(CGRect)frame
                          text:(nullable NSString *)text
                     textColor:(UIColor *)textColor
                          font:(UIFont *)font
                 textAlignment:(NSTextAlignment)alignment;

/// 创建Lab
/// @param frame 位置
/// @param text 内容
/// @param textColor 颜色
/// @param font 字体大小
/// @param alignment 居中
/// @param bgColor 背景颜色
+ (instancetype)labelWithFrame:(CGRect)frame
                          text:(nullable NSString *)text
                     textColor:(UIColor *)textColor
                          font:(UIFont *)font
                 textAlignment:(NSTextAlignment)alignment
                       bgColor:(UIColor *)bgColor;

/// 创建Lab
/// @param frame 位置
/// @param text 内容
/// @param textColor 颜色
/// @param font 字体大小
/// @param alignment 居中
/// @param numOfLines 行数
+ (instancetype)labelWithFrame:(CGRect)frame
                          text:(nullable NSString *)text
                     textColor:(UIColor *)textColor
                          font:(UIFont *)font
                 textAlignment:(NSTextAlignment)alignment
                    numOfLines:(NSInteger)numOfLines;

/// 创建Lab
/// @param frame 位置
/// @param text 内容
/// @param textColor 颜色
/// @param font 字体大小
/// @param alignment 居中
/// @param numOfLines 行数
/// @param bgColor 背景颜色
+ (instancetype)labelWithFrame:(CGRect)frame
                          text:(nullable NSString *)text
                     textColor:(UIColor *)textColor
                          font:(UIFont *)font
                 textAlignment:(NSTextAlignment)alignment
                    numOfLines:(NSInteger)numOfLines
                       bgColor:(UIColor *)bgColor;

/// 创建Lab
/// @param frame 位置
/// @param text 内容
/// @param textColor 颜色
/// @param font 字体大小
/// @param alignment 居中
/// @param numOfLines 行数
/// @param bgColor 背景颜色
/// @param cornerRadius 切圆大小
+ (instancetype)labelWithFrame:(CGRect)frame
                          text:(nullable NSString *)text
                     textColor:(UIColor *)textColor
                          font:(UIFont *)font
                 textAlignment:(NSTextAlignment)alignment
                    numOfLines:(NSInteger)numOfLines
                       bgColor:(UIColor *)bgColor
                  cornerRadius:(CGFloat)cornerRadius;

/// 两端对齐 注意要在给Lable的frame，text设置完之后再使用
- (void)textAlignmentLeftAndRight;

/// 根据宽度直接对齐
/// @param labelWidth labelWidth description
- (void)textAlignmentLeftAndRightWith:(CGFloat)labelWidth;

/// 修改行间距
/// @param label 需要修改行间距的label
/// @param space 行间距
+ (void)changeLineSpaceForLabel:(UILabel *)label WithSpace:(float)space;

/// 修改label行间距
/// @param space 行间距
- (void)changeLineSpaceForLabel:(float)space;

@end

NS_ASSUME_NONNULL_END
